package languageacquisition.ontology;

import jade.content.Predicate;

public class Describes implements Predicate{

	private static final long serialVersionUID = 8824127086106170889L;
	private int time;
	private EnvObject object;
	private LanguageSymbol symbol;

	public EnvObject getObject() {
		return object;
	}

	public void setObject(EnvObject object) {
		this.object = object;
	}

	public LanguageSymbol getSymbol() {
		return symbol;
	}

	public void setSymbol(LanguageSymbol symbol) {
		this.symbol = symbol;
	}

	public int getTime() {
		return time;
	}

	public void setTime(int time) {
		this.time = time;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ((object == null) ? 0 : object.hashCode());
		result = prime * result + ((symbol == null) ? 0 : symbol.hashCode());
		result = prime * result + time;
		return result;
	}

	@Override
	public boolean equals(Object obj) {
		if (this == obj)
			return true;
		if (obj == null)
			return false;
		if (getClass() != obj.getClass())
			return false;
		Describes other = (Describes) obj;
		if (object == null) {
			if (other.object != null)
				return false;
		} else if (!object.equals(other.object))
			return false;
		if (symbol == null) {
			if (other.symbol != null)
				return false;
		} else if (!symbol.equals(other.symbol))
			return false;
		if (time != other.time)
			return false;
		return true;
	}
	
}
